Previous: Completion Styles, Up: Completion [Contents][Index]
Case is significant when completing case-sensitive arguments, such as command names. For example, when completing command names, ‘AU’ does not complete to ‘auto-fill-mode’. Case differences are ignored when completing arguments in which case does not matter.
When completing file names, case differences are ignored if
the variable read-file-name-completion-ignore-case
is non-nil. The default value is nil on
systems that have case-sensitive file-names, such as GNU/Linux;
it is non-nil on systems that have case-insensitive
file-names, such as Microsoft Windows. When completing buffer
names, case differences are ignored if the variable
read-buffer-completion-ignore-case is
non-nil; the default is
nil.
When completing file names, Emacs usually omits certain
alternatives that are considered unlikely to be chosen, as
determined by the list variable
completion-ignored-extensions. Each element in the
list should be a string; any file name ending in such a string is
ignored as a completion alternative. Any element ending in a
slash (/) represents a subdirectory name. The
standard value of completion-ignored-extensions has
several elements including ".o",
".elc", and "~". For example, if a
directory contains ‘foo.c’ and
‘foo.elc’,
‘foo’ completes to
‘foo.c’. However, if all
possible completions end in otherwise-ignored strings, they are
not ignored: in the previous example,
‘foo.e’ completes to
‘foo.elc’. Emacs disregards
completion-ignored-extensions when showing
completion alternatives in the completion list.
Shell completion is an extended version of filename completion, see Shell Options.
If completion-auto-help is set to
nil, the completion commands never display the
completion list buffer; you must type ? to display the
list. If the value is lazy, Emacs only shows the
completion list buffer on the second attempt to complete. In
other words, if there is nothing to complete, the first
TAB echoes ‘Next char not
unique’; the second TAB shows
the completion list buffer.
If completion-cycle-threshold is
non-nil, completion commands can cycle through
completion alternatives. Normally, if there is more than one
completion alternative for the text in the minibuffer, a
completion command completes up to the longest common substring.
If you change completion-cycle-threshold to
t, the completion command instead completes to the
first of those completion alternatives; each subsequent
invocation of the completion command replaces that with the next
completion alternative, in a cyclic manner. If you give
completion-cycle-threshold a numeric value
n, completion commands switch to this cycling behavior
only when there are n or fewer alternatives.
Previous: Completion Styles, Up: Completion [Contents][Index]